package com.ims.core.inconfig.domain;

import java.math.BigDecimal;
import java.util.List;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 敏感词校验对象 t_in_word_rule
 *
 * @author IMS
 * @date 2024-05-24
 */
public class TInWordRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 开票项ID */
    @Excel(name = "开票项ID")
    private String ruleId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String custId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String siteCode;

    /** 公司 */
    @Excel(name = "公司")
    private String siteName;

    /** 敏感词规则 */
    @Excel(name = "敏感词规则")
    private String ruleName;

    /** 启用状态代码 */
    @Excel(name = "启用状态代码")
    private Long isEnabled;

    /** 启用状态 */
    @Excel(name = "启用状态")
    private String isEnabledName;

    /** 校验内容代码 */
    @Excel(name = "校验内容代码")
    private String ruleCheckType;

    /** 校验内容 */
    @Excel(name = "校验内容")
    private String ruleCheckTypeName;

    /** 发票状态代码 */
    @Excel(name = "发票状态代码")
    private String invoiceStatus;

    /** 发票状态 */
    @Excel(name = "发票状态")
    private String invoiceStatusName;

    /** 发票金额(含税)限制 */
    @Excel(name = "发票金额(含税)限制")
    private Long isFeeLimit;

    /** 发票金额(含税)限制 */
    @Excel(name = "发票金额(含税)限制")
    private String isFeeLimitName;

    /** 发票起始金额 */
    @Excel(name = "发票起始金额")
    private BigDecimal feeMin;

    /** 发票截止金额 */
    @Excel(name = "发票截止金额")
    private BigDecimal feeMax;

    /** 商品金额(含税)限制 */
    @Excel(name = "商品金额(含税)限制")
    private Long isProductLimit;

    /** 发票金额(含税)限制 */
    @Excel(name = "发票金额(含税)限制")
    private String isProductLimitName;

    /** 商品单价起始 */
    @Excel(name = "商品单价起始")
    private BigDecimal priceMin;

    /** 商品单价截止 */
    @Excel(name = "商品单价截止")
    private BigDecimal priceMax;

    /** 发票类型代码 */
    @Excel(name = "发票类型代码")
    private String invoiceType;

    /** 发票类型 */
    @Excel(name = "发票类型")
    private String invoiceTypeName;

    /** 敏感词信息 */
    private List<TInWord> tInWordList;

    /** 规则生效范围 */
    private List<TInRuleSite> tInRuleSite;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setRuleId(String ruleId)
    {
        this.ruleId = ruleId;
    }

    public String getRuleId()
    {
        return ruleId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setRuleName(String ruleName)
    {
        this.ruleName = ruleName;
    }

    public String getRuleName()
    {
        return ruleName;
    }
    public void setIsEnabled(Long isEnabled)
    {
        this.isEnabled = isEnabled;
    }

    public Long getIsEnabled()
    {
        return isEnabled;
    }
    public void setIsEnabledName(String isEnabledName)
    {
        this.isEnabledName = isEnabledName;
    }

    public String getIsEnabledName()
    {
        return isEnabledName;
    }
    public void setRuleCheckType(String ruleCheckType)
    {
        this.ruleCheckType = ruleCheckType;
    }

    public String getRuleCheckType()
    {
        return ruleCheckType;
    }
    public void setRuleCheckTypeName(String ruleCheckTypeName)
    {
        this.ruleCheckTypeName = ruleCheckTypeName;
    }

    public String getRuleCheckTypeName()
    {
        return ruleCheckTypeName;
    }
    public void setInvoiceStatus(String invoiceStatus)
    {
        this.invoiceStatus = invoiceStatus;
    }

    public String getInvoiceStatus()
    {
        return invoiceStatus;
    }
    public void setInvoiceStatusName(String invoiceStatusName)
    {
        this.invoiceStatusName = invoiceStatusName;
    }

    public String getInvoiceStatusName()
    {
        return invoiceStatusName;
    }
    public void setIsFeeLimit(Long isFeeLimit)
    {
        this.isFeeLimit = isFeeLimit;
    }

    public Long getIsFeeLimit()
    {
        return isFeeLimit;
    }
    public void setIsFeeLimitName(String isFeeLimitName)
    {
        this.isFeeLimitName = isFeeLimitName;
    }

    public String getIsFeeLimitName()
    {
        return isFeeLimitName;
    }
    public void setFeeMin(BigDecimal feeMin)
    {
        this.feeMin = feeMin;
    }

    public BigDecimal getFeeMin()
    {
        return feeMin;
    }
    public void setFeeMax(BigDecimal feeMax)
    {
        this.feeMax = feeMax;
    }

    public BigDecimal getFeeMax()
    {
        return feeMax;
    }
    public void setIsProductLimit(Long isProductLimit)
    {
        this.isProductLimit = isProductLimit;
    }

    public Long getIsProductLimit()
    {
        return isProductLimit;
    }
    public void setIsProductLimitName(String isProductLimitName)
    {
        this.isProductLimitName = isProductLimitName;
    }

    public String getIsProductLimitName()
    {
        return isProductLimitName;
    }
    public void setPriceMin(BigDecimal priceMin)
    {
        this.priceMin = priceMin;
    }

    public BigDecimal getPriceMin()
    {
        return priceMin;
    }
    public void setPriceMax(BigDecimal priceMax)
    {
        this.priceMax = priceMax;
    }

    public BigDecimal getPriceMax()
    {
        return priceMax;
    }
    public void setInvoiceType(String invoiceType)
    {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceType()
    {
        return invoiceType;
    }
    public void setInvoiceTypeName(String invoiceTypeName)
    {
        this.invoiceTypeName = invoiceTypeName;
    }

    public String getInvoiceTypeName()
    {
        return invoiceTypeName;
    }

    public List<TInWord> getTInWordList()
    {
        return tInWordList;
    }

    public void setTInWordList(List<TInWord> tInWordList)
    {
        this.tInWordList = tInWordList;
    }

    public List<TInRuleSite> gettInRuleSite() {
        return tInRuleSite;
    }

    public void settInRuleSite(List<TInRuleSite> tInRuleSite) {
        this.tInRuleSite = tInRuleSite;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("ruleId", getRuleId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("ruleName", getRuleName())
            .append("isEnabled", getIsEnabled())
            .append("isEnabledName", getIsEnabledName())
            .append("ruleCheckType", getRuleCheckType())
            .append("ruleCheckTypeName", getRuleCheckTypeName())
            .append("invoiceStatus", getInvoiceStatus())
            .append("invoiceStatusName", getInvoiceStatusName())
            .append("isFeeLimit", getIsFeeLimit())
            .append("isFeeLimitName", getIsFeeLimitName())
            .append("feeMin", getFeeMin())
            .append("feeMax", getFeeMax())
            .append("isProductLimit", getIsProductLimit())
            .append("isProductLimitName", getIsProductLimitName())
            .append("priceMin", getPriceMin())
            .append("priceMax", getPriceMax())
            .append("invoiceType", getInvoiceType())
            .append("invoiceTypeName", getInvoiceTypeName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("tInWordList", getTInWordList())
            .toString();
    }
}
